<%@page import="java.io.IOException"%>
<%@page import="indexacion.ExcepcionIndexacion"%>
<%@page import="java.io.FileNotFoundException"%>
<%@page import="auxiliares.Log"%>
<%@page import="indexacion.StopWords"%>
<%@page import="indexacion.IAnalizador"%>
<%@page import="java.util.HashMap"%>
<%@page import="buscador.IBuscador"%>
<%@page import="java.io.File"%>
<%@page import="indexacion.Indice"%>
<%@page import="indexacion.IndiceDoc"%>
<%@page import="indexacion.Indexador"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Recuperacion de la Informaci&oacute;n: Buscador</title>
    </head>
    <body>
        <%
            application.removeAttribute("RESULTADOS");
            
            StopWords palabrasVacias = new StopWords();
            // Se carga la lista de stop words
            try {
                palabrasVacias.cargaStopWords();
            } catch (FileNotFoundException ex) {
                throw new ExcepcionIndexacion("No existe el fichero de stop words");
            } catch (IOException ex) {
                throw new ExcepcionIndexacion("Problema de E/S en el fichero de stop words");
            }
            Indexador indexador = new Indexador(palabrasVacias);
            Indice indice = indexador.getIndice();
            IndiceDoc indiceDoc = indexador.getIndiceDoc();
            if (null != indice && null != indiceDoc && null!= palabrasVacias) {
                long tiempoCarga = indexador.getTIndexacion();
                long tamIndiceMemoria = indexador.getTamIndiceDisco();
                long tamIndiceDocMemoria = indexador.getTamIndiceDocDisco();
                int numEntradas = indexador.getNumEntradas();
                int numEntradasDoc = indexador.getNumEntradasDoc();
                application.setAttribute("INDICE", indice);
                application.setAttribute("INDICEDOC", indiceDoc);
                application.setAttribute("STOPWORDS", palabrasVacias);
                application.setAttribute("INDEXADOR", indexador);
                HashMap<String,Integer> frecuenciasTokens = indexador.getFrecuenciasTokens();
        %>
        <p align="center">
            El tiempo de carga ha sido de <%=tiempoCarga%> milisegundos<br><br>
            &Iacute;ndice obtenido en <% out.println(IBuscador.FICHERO_INDICE); %><br>
            &Iacute;ndiceDoc obtenido en <% out.println(IBuscador.FICHERO_INDICEDOC); %><br><br>
            El &iacute;ndice tiene <%=numEntradas%> entradas.<br>
            El &iacute;ndiceDoc tiene <%=numEntradasDoc%> entradas.<br><br>
            El &iacute;ndice ocupa <%=tamIndiceMemoria/1024%> KiloBytes en disco<br>
            El &iacute;ndiceDoc ocupa <%=tamIndiceDocMemoria/1024%> KiloBytes en disco<br><br>
            </p>
            <%
               if (!frecuenciasTokens.isEmpty()) {
                  out.println("<hr>");
                  out.println("<p align=\"center\">");
                  out.println("Analizadas "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_PALABRAS)+" palabras.");
                  out.println("<br>");
                  out.println("Analizadas "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_ABREVIATURAS_COMPUESTAS)+" siglas.");
                  out.println("<br>");
                  out.println("Analizados "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_NUMEROS_ENTEROS)+" numeros enteros.");
                  out.println("<br>");
                  out.println("Analizados "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_NUMEROS_DECIMALES)+" numeros decimales.");
                  out.println("<br>");
                  out.println("Analizados "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_PORCENTAJES_ENTEROS)+" porcentajes enteros.");
                  out.println("<br>");
                  out.println("Analizados "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_PORCENTAJES_DECIMALES)+" porcentajes decimales.");
                  out.println("<br>");
                  out.println("Analizados "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_ORDINALES)+" numeros ordinales.");
                  out.println("<br>");
                  out.println("Analizados "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_INTERVALOS)+" intervalos.");
                  out.println("<br>");
                  out.println("Analizadas "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_PROPORCIONES)+" proporciones.");
                  out.println("<br>");
                  out.println("Analizados "+(Integer)frecuenciasTokens.get(IAnalizador.TIPO_TOKEN_CONCEPTO_MEDICO)+" conceptos m&eacute;dicos.");
                  out.println("</p>");
                  out.println("<hr>");
               }
            %>
            <a href="buscador.jsp">Buscador</a><br>
        

        <% } else {
            }%>
    </body>
</html>
